package com.xinggq.pay.service.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 回调类型枚举
 * @author xinggq
 * @since 2025/1/15
 */
@Getter
@AllArgsConstructor
public enum CallbackTypeEnum {
    
    /**
     * 支付回调
     */
    PAY("PAY", "支付回调"),
    
    /**
     * 退款回调
     */
    REFUND("REFUND", "退款回调");
    
    /**
     * 回调类型代码
     */
    private final String code;
    
    /**
     * 回调类型描述
     */
    private final String desc;
    
    /**
     * 根据代码获取枚举
     * @param code 代码
     * @return 枚举值
     */
    public static CallbackTypeEnum getByCode(String code) {
        for (CallbackTypeEnum type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }
}